package seueniumfordemoiselle.seleniumsimplify.pages;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.CacheLookup;
import org.openqa.selenium.support.FindBy;

import seueniumfordemoiselle.seleniumsimplify.utils.TabelaListagem;


public class UFListPage extends BasePage{
	
	//@FindBy(xpath="//*[@id='resultListDataTable']//table")
	TabelaListagem tabela;
	
	@FindBy(xpath="//*[@value='Novo']")
	@CacheLookup
	WebElement botaoNovo;
	
	@FindBy(xpath="//*[@class='infoMessage']/span[2]")
	@CacheLookup
	WebElement spanMensagem;

	public UFListPage(WebDriver driver) {
		super(driver);
		this.tabela = new TabelaListagem(this.driver);
	}
	
	public TabelaListagem getTabela() {
		return tabela;
	}

	public void setTabela(TabelaListagem tabela) {
		this.tabela = tabela;
	}

	/* (non-Javadoc)
	 * @see br.gov.serpro.SeleniumSimplify.pages.BasePage#open()
	 */
	public BasePage open(){
		driver.get("http://localhost:8080/simplify/private/pages/uf_list.jsf");
		return new UFListPage(this.driver);
	}	
	
	/**
	 * Retorna a mensagem após as operações de inserção, alteração e deleção 
	 */
	public String pegarMensagem() {		
		return this.spanMensagem.getText();
	}
	
	/**
	 * Clica no botão Novo
	 */
	public UFCadastroPage clicarNovo(){
		this.botaoNovo.click();
		return new UFCadastroPage(this.driver);
	}
}
